
/**
 * Vertex Class
 * @author Thiago Camargo Fernandes
 */

class Vertex{
    //X Coordinate
    double x;
    //Y Coordinate
    double y;
    //Z Coordinate
    double z;
    
public:
    
    /**
     * Inicialization Constructor
     */
    Vertex(){
        setX(0.0);
        setY(0.0);
        setZ(0.0);
    }
    
    /**
     * Constructor 
     * @param a X coordinate
     * @param b Y coordinate
     * @param c Z coordinate
     */    
    Vertex(double a, double b, double c){
        setX(a);
        setY(b);
        setZ(c);
    }
    
    /**
     * Sets the X coordinate
     * @param tmp X Coordinate
     */
    void setX(double tmp){
        x = tmp;
    }
    
    /**
     * Sets the Y coordinate
     * @param tmp Y Coordinate
     */
    void setY(double tmp){
        y = tmp;
    }
    
    /**
     * Sets the Z coordinate
     * @param tmp Z Coordinate
     */
    void setZ(double tmp){
        z = tmp;
    }
    
    /**
     * Gets the X coordinate
     * @return x The X coordinate
     */
    double getX(){
        return x;
    }
    
    /**
     * Gets the Y coordinate
     * @return The Y coordinate
     */
    double getY(){
        return y;
    }
    
    /**
     * Gets the Z coordinate
     * @return The Z coordinate 
     */
    double getZ(){
        return z;
    }
};
